N3644 tests for map/multimap/set/multiset. Drive-by NOEXCEPT for __tree_const_iterator constructor. Fix comment typos in other tests git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188019 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/__tree b/include/__tree index 9ffc38d..d8f6cb7 100644 --- a/include/__tree +++ b/include/__tree
@@ -641,7 +641,11 @@ #endif pointer; - _LIBCPP_INLINE_VISIBILITY __tree_iterator() _NOEXCEPT {} + _LIBCPP_INLINE_VISIBILITY __tree_iterator() _NOEXCEPT +#if _LIBCPP_STD_VER > 11 + : __ptr_(nullptr) +#endif + {} _LIBCPP_INLINE_VISIBILITY reference operator*() const {return __ptr_->__value_;} _LIBCPP_INLINE_VISIBILITY pointer operator->() const @@ -712,7 +716,12 @@ #endif pointer; - _LIBCPP_INLINE_VISIBILITY __tree_const_iterator() {} + _LIBCPP_INLINE_VISIBILITY __tree_const_iterator() _NOEXCEPT +#if _LIBCPP_STD_VER > 11 + : __ptr_(nullptr) +#endif + {} + private: typedef typename remove_const<__node>::type __non_const_node; typedef typename pointer_traits<__node_pointer>::template diff --git a/test/containers/associative/map/map.access/iterator.pass.cpp b/test/containers/associative/map/map.access/iterator.pass.cpp index 048c074..64a6284 100644 --- a/test/containers/associative/map/map.access/iterator.pass.cpp +++ b/test/containers/associative/map/map.access/iterator.pass.cpp
@@ -207,4 +207,18 @@ } } #endif +#if _LIBCPP_STD_VER > 11 + { // N3644 testing + typedef std::map<int, double> C; + C::iterator ii1{}, ii2{}; + C::iterator ii4 = ii1; + C::const_iterator cii{}; + assert ( ii1 == ii2 ); + assert ( ii1 == ii4 ); + assert ( ii1 == cii ); + + assert ( !(ii1 != ii2 )); + assert ( !(ii1 != cii )); + } +#endif } diff --git a/test/containers/associative/multimap/iterator.pass.cpp b/test/containers/associative/multimap/iterator.pass.cpp index 283b32d..a58b583 100644 --- a/test/containers/associative/multimap/iterator.pass.cpp +++ b/test/containers/associative/multimap/iterator.pass.cpp
@@ -211,4 +211,18 @@ } } #endif +#if _LIBCPP_STD_VER > 11 + { // N3644 testing + typedef std::multimap<int, double> C; + C::iterator ii1{}, ii2{}; + C::iterator ii4 = ii1; + C::const_iterator cii{}; + assert ( ii1 == ii2 ); + assert ( ii1 == ii4 ); + assert ( ii1 == cii ); + + assert ( !(ii1 != ii2 )); + assert ( !(ii1 != cii )); + } +#endif } diff --git a/test/containers/associative/multiset/iterator.pass.cpp b/test/containers/associative/multiset/iterator.pass.cpp index 2a7b209..f801de7 100644 --- a/test/containers/associative/multiset/iterator.pass.cpp +++ b/test/containers/associative/multiset/iterator.pass.cpp
@@ -195,4 +195,18 @@ assert(*i == j); } #endif +#if _LIBCPP_STD_VER > 11 + { // N3644 testing + typedef std::multiset<int> C; + C::iterator ii1{}, ii2{}; + C::iterator ii4 = ii1; + C::const_iterator cii{}; + assert ( ii1 == ii2 ); + assert ( ii1 == ii4 ); + assert ( ii1 == cii ); + + assert ( !(ii1 != ii2 )); + assert ( !(ii1 != cii )); + } +#endif } diff --git a/test/containers/associative/set/iterator.pass.cpp b/test/containers/associative/set/iterator.pass.cpp index b509aea..f52e845 100644 --- a/test/containers/associative/set/iterator.pass.cpp +++ b/test/containers/associative/set/iterator.pass.cpp
@@ -191,4 +191,18 @@ assert(*i == j); } #endif +#if _LIBCPP_STD_VER > 11 + { // N3644 testing + typedef std::set<int> C; + C::iterator ii1{}, ii2{}; + C::iterator ii4 = ii1; + C::const_iterator cii{}; + assert ( ii1 == ii2 ); + assert ( ii1 == ii4 ); + assert ( ii1 == cii ); + + assert ( !(ii1 != ii2 )); + assert ( !(ii1 != cii )); + } +#endif } diff --git a/test/containers/sequences/array/iterators.pass.cpp b/test/containers/sequences/array/iterators.pass.cpp index af5e064..8da3803 100644 --- a/test/containers/sequences/array/iterators.pass.cpp +++ b/test/containers/sequences/array/iterators.pass.cpp
@@ -37,7 +37,7 @@ } #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing { typedef std::array<int, 5> C; C::iterator ii1{}, ii2{}; diff --git a/test/containers/sequences/deque/iterators.pass.cpp b/test/containers/sequences/deque/iterators.pass.cpp index 5645b5d..a83a16b 100644 --- a/test/containers/sequences/deque/iterators.pass.cpp +++ b/test/containers/sequences/deque/iterators.pass.cpp
@@ -45,7 +45,7 @@ } #endif #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing std::deque<int>::iterator ii1{}, ii2{}; std::deque<int>::iterator ii4 = ii1; std::deque<int>::const_iterator cii{}; diff --git a/test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp b/test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp index aa39339..2e99514 100644 --- a/test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp +++ b/test/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
@@ -121,7 +121,7 @@ } #endif #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing std::forward_list<int>::iterator ii1{}, ii2{}; std::forward_list<int>::iterator ii4 = ii1; std::forward_list<int>::const_iterator cii{}; diff --git a/test/containers/sequences/vector.bool/iterators.pass.cpp b/test/containers/sequences/vector.bool/iterators.pass.cpp index f45bf98..98f725e 100644 --- a/test/containers/sequences/vector.bool/iterators.pass.cpp +++ b/test/containers/sequences/vector.bool/iterators.pass.cpp
@@ -95,7 +95,7 @@ } #endif #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing std::vector<bool>::iterator ii1{}, ii2{}; std::vector<bool>::iterator ii4 = ii1; std::vector<bool>::const_iterator cii{}; diff --git a/test/containers/sequences/vector/iterators.pass.cpp b/test/containers/sequences/vector/iterators.pass.cpp index 8e0d482..4ee16e9 100644 --- a/test/containers/sequences/vector/iterators.pass.cpp +++ b/test/containers/sequences/vector/iterators.pass.cpp
@@ -136,7 +136,7 @@ } #endif #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing typedef std::vector<int> C; C::iterator ii1{}, ii2{}; C::iterator ii4 = ii1; diff --git a/test/containers/unord/unord.map/iterators.pass.cpp b/test/containers/unord/unord.map/iterators.pass.cpp index 4fc85a2..c780a66 100644 --- a/test/containers/unord/unord.map/iterators.pass.cpp +++ b/test/containers/unord/unord.map/iterators.pass.cpp
@@ -109,7 +109,7 @@ } #endif #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing typedef std::unordered_map<int,double> C; C::iterator ii1{}, ii2{}; C::iterator ii4 = ii1; diff --git a/test/containers/unord/unord.multimap/iterators.pass.cpp b/test/containers/unord/unord.multimap/iterators.pass.cpp index cdf70c1..9abb196 100644 --- a/test/containers/unord/unord.multimap/iterators.pass.cpp +++ b/test/containers/unord/unord.multimap/iterators.pass.cpp
@@ -115,7 +115,7 @@ } #endif #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing typedef std::unordered_multimap<int,double> C; C::iterator ii1{}, ii2{}; C::iterator ii4 = ii1; diff --git a/test/containers/unord/unord.multiset/iterators.pass.cpp b/test/containers/unord/unord.multiset/iterators.pass.cpp index bc6f880..e51b3e1 100644 --- a/test/containers/unord/unord.multiset/iterators.pass.cpp +++ b/test/containers/unord/unord.multiset/iterators.pass.cpp
@@ -108,7 +108,7 @@ } #endif #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing typedef std::unordered_multiset<int> C; C::iterator ii1{}, ii2{}; C::iterator ii4 = ii1; diff --git a/test/containers/unord/unord.set/iterators.pass.cpp b/test/containers/unord/unord.set/iterators.pass.cpp index 6127d66..7bb9770 100644 --- a/test/containers/unord/unord.set/iterators.pass.cpp +++ b/test/containers/unord/unord.set/iterators.pass.cpp
@@ -108,7 +108,7 @@ } #endif #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing typedef std::unordered_set<int> C; C::iterator ii1{}, ii2{}; C::iterator ii4 = ii1; diff --git a/test/strings/basic.string/string.iterators/iterators.pass.cpp b/test/strings/basic.string/string.iterators/iterators.pass.cpp index ff89609..386cede 100644 --- a/test/strings/basic.string/string.iterators/iterators.pass.cpp +++ b/test/strings/basic.string/string.iterators/iterators.pass.cpp
@@ -22,7 +22,7 @@ int main() { #if _LIBCPP_STD_VER > 11 - { // N3664 testing + { // N3644 testing typedef std::string C; C::iterator ii1{}, ii2{}; C::iterator ii4 = ii1; @@ -34,7 +34,7 @@ assert ( !(ii1 != cii )); } - { // N3664 testing + { // N3644 testing typedef std::wstring C; C::iterator ii1{}, ii2{}; C::iterator ii4 = ii1; @@ -46,7 +46,7 @@ assert ( !(ii1 != cii )); } - { // N3664 testing + { // N3644 testing typedef std::u16string C; C::iterator ii1{}, ii2{}; C::iterator ii4 = ii1; @@ -58,7 +58,7 @@ assert ( !(ii1 != cii )); } - { // N3664 testing + { // N3644 testing typedef std::u32string C; C::iterator ii1{}, ii2{}; C::iterator ii4 = ii1;